Deep-learning is a type of machine learning that may involve training a model in a supervised or unsupervised setting. Deep-learning models may be trained to learn representations of data. Deep-learning models may be based on a set of algorithms that are designed to model abstractions in data by using a number of processing layers. The processing layers may be made up of non-linear transformations. The processing layers may be fully connected. Deep-learning models may include, as an example and not by way of limitation, neural networks and convolutional neural networks. Convolutional neural networks may be made of up a hierarchy of trainable filters, interleaved with non-linearities and pooling. Convolutional neural networks may be used in large-scale object recognition tasks.